# 2024.06.27——CSDN博客——【Python】专栏
# 输入与输出——2024.06.27完成

# Python中的输出
print('通过print函数进行字符串输出')
print("hello world")
print('我是蒙奇D索大')
print('通过print函数进行值的输出')
a = 1
print(a)
print(a + 2 * 3)
print("\n")

print('Python中的不换行输出，', end='')
print('通过传入第二个参数end，', end="\t")
print("end的值需要是一个字符串", end='\n')
print("字符串的内容可以是", end="——")
print("空字符、符号、字符串", end="……\n")
print("空字符包括：", end="空格、换行、制表符……\n")
print("\n")

# print(f-string)——格式化输出
print("Python 中的格式化输出——", end="print(f-string)\n")
a = 1
print(f"a的值为：{a}\n")

# print(f{:})——格式化输出值
print("Python 中的格式化输出值")
a = 3.1415926
print(f"{a:.0f}")   # 保留0为小数——按四舍五入
print(f"{a:.3f}")   # 保留3位小数
print(f"{a:10f}")   # 宽度为10
print(f"{a:<10.3f}")    # 左对齐，保留3位小数
print(f"{a:>10.3f}")    # 右对齐，保留3位小数
print(f"{a:^10.3f}")    # 居中对齐，保留3位小数
a = 5
print(f"{a:10d}")   # 宽度为10
print(f"{a:-10d}")   # 宽度为10
print(f"{a:<10d}")   # 左对齐，宽度为10
print(f"{a:>10d}")   # 右对齐，宽度为10
print(f"{a:^10d}")   # 居中对齐,宽度为10
print("\n")

# print(f{:})——格式化输出值的其它格式化输出
a = -1.5263478
print(f"{a:+.0f}")  # 保留正号输出，不保留小数
print(f"{a:-.0f}")  # 保留符号输出，不保留小数
print(f"{+a:.0f}")  # 输出正值，不保留小数
print(f"{-a:.0f}\n")  # 输出负值，不保留小数
a = 1.5263478
print(f"{a:+.0f}")  # 保留正号输出，不保留小数
print(f"{a:-.0f}")  # 保留负号输出，不保留小数
print(f"{+a:.0f}")  # 输出正值，不保留小数
print(f"{-a:.0f}")  # 输出负值，不保留小数
print(f"{a:.2%}\n")  # 以百分号的形式输出，保留2位小数
a = 1000000
print(f"{a:,}")  # 以逗号分隔的形式输出
print(f"{a:.2e}")  # 以指数计数法的形式输出
print(f"{a:b}")     # 以二进制的形式输出
print(f"{a:o}")     # 以八进制的形式输出
print(f"{a:d}")     # 以十进制的形式输出
print(f"{a:x}")     # 以十六进制的形式输出
print("\n")

# Python中的输入——input()
# a = input('请输入：')     # 通过input获取字符串
# print(a)    # 通过print输出获取到的内容
# b = input("请输入一个数字：")
# print(b)

# # split()方法
# a = input('请输入多个整数:').split()
# print(a)
# for i in range(0, len(a)):
#     a[i] = int(a[i])
#     print(a[i])
# print(a)


# split()方法——以固定的分隔符/分割次数进行分割
# a = input('请输入：').split(maxsplit=2)
# print(a)

# 151. 反转字符串中的单词——双指针、字符串——中等
# 给你一个字符串s ，请你反转字符串中单词的顺序。
# 单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。
# 返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。
# 注意：输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。
# 返回的结果字符串中，单词间应当仅用单个空格分隔，且不包含任何额外的空格。
# 示例
# 1：
# 输入：s = "the sky is blue"
# 输出："blue is sky the"
# 示例
# 2：
# 输入：s = "  hello world  "
# 输出："world hello"
# 解释：反转后的字符串中不能存在前导空格和尾随空格。
# 示例
# 3：
# 输入：s = "a good   example"
# 输出："example good a"
# 解释：如果两个单词间有多余的空格，反转后的字符串需要将单词间的空格减少到仅有一个。
# 提示：
# 1 <= s.length <= 10^4
# s包含英文大小写字母、数字和空格' '
# s中至少存在一个单词
# 进阶：如果字符串在你使用的编程语言中是一种可变数据类型，请尝试使用O(1)额外空间复杂度的原地解法。


s = input().split()  # 1.通过input获取字符串并通过split分割字符串
s.reverse()  # 通过reverse()方法反转列表中的元素
s = ' '.join(s)  # 通过join()方法指定空格为分隔符连接列表中的元素
print(s)
